Implement touch screen events on PGTK
authorPo Lu <luangruo@yahoo.com>
Sat, 1 Jun 2024 07:41:54 +0000 (15:41 +0800)
committerPo Lu <luangruo@yahoo.com>
Sat, 1 Jun 2024 07:41:54 +0000 (15:41 +0800)
commit2b7056db424ab0f8bf9e96b5a3c6aa12a3debf48
tree2e1bb7731a0e25001b2df993b2c218f797b00df9
parentb1692e23edc32ce8938d3af200c0c42c8aa6b313
Implement touch screen events on PGTK

* etc/NEWS: Better qualify entry for touch screen events.

* lisp/loadup.el (featurep 'pgtk): Load touch-screen.el.

* lisp/touch-screen.el: Revise list of systems where touch
screen events are reported.

* src/gtkutil.c (xg_create_frame_widgets): Request
GDK_TOUCH_MASK.

* src/pgtkfns.c (pgtk_frame_parm_handlers, tip_window): Pacify
compiler warning.

* src/pgtkterm.c (pgtk_free_frame_resources): Free touch points
linked to this frame.
(pgtk_link_touch_point, pgtk_unlink_touch_point)
(pgtk_unlink_touch_points, pgtk_find_touch_point): New
functions, ported from X.
(touch_event_cb): New event callback.
(pgtk_set_event_handler): Register `touch_event_cb' as handler
for `touch-event'.
(pgtk_delete_display): Free residual touch points on this
display.

* src/pgtkterm.h (struct pgtk_touch_point): New structure.
(struct pgtk_display_info) <touchpoints>: New field.
etc/NEWS
lisp/loadup.el
lisp/touch-screen.el
src/gtkutil.c
src/pgtkfns.c
src/pgtkterm.c
src/pgtkterm.h